package com.fyy.exception.utils;

import com.fyy.exception.exception.ResultBean;
import com.fyy.exception.exception.ResultEnum;

/**
 * @Author fyy
 * @Description 统一接口返回数据工具类
 * @Date 2020/6/16 14:44
 */
public class ResultUtil {

    /**
     * 返回错误信息
     * @param message 错误信息
     * @return
     */
    public static ResultBean error(String message){
        return ResultBean.builder()
                .code(ResultEnum.FAIL.getCode())
                .message(message)
                .build();
    }

    /**
     * 返回错误信息
     * @param code 错误编码
     * @param message 错误信息
     * @return
     */
    public static ResultBean error(Integer code,String message){
        return ResultBean.builder()
                .code(code)
                .message(message)
                .build();
    }

    /**
     * 返回错误信息
     * @param resultEnum 枚举类
     * @return
     */
    public static ResultBean error(ResultEnum resultEnum){
        return ResultBean.builder()
                .code(resultEnum.getCode())
                .message(resultEnum.getMessage())
                .build();
    }

    /**
     * 返回错误信息
     * @return
     */
    public static ResultBean error(){
        return ResultBean.builder()
                .code(ResultEnum.FAIL.getCode())
                .message(ResultEnum.FAIL.getMessage())
                .build();
    }

    /**
     * 返回操作成功信息
     * @param message 枚举类
     * @return
     */
    public static ResultBean success(String message){
        return ResultBean.builder()
                .code(ResultEnum.SUCCESS.getCode())
                .message(message)
                .build();
    }

    /**
     * 返回操作成功信息
     * @param code 成功编号
     * @param message 成功信息
     * @return
     */
    public static ResultBean success(Integer code,String message){
        return ResultBean.builder()
                .code(code)
                .message(message)
                .build();
    }

    /**
     * 返回操作成功信息
     * @param resultEnum 枚举类
     * @return
     */
    public static ResultBean success(ResultEnum resultEnum){
        return ResultBean.builder()
                .code(resultEnum.getCode())
                .message(resultEnum.getMessage())
                .build();
    }

    /**
     * 返回操作成功信息
     * @return
     */
    public static ResultBean success(){
        return ResultBean.builder()
                .code(ResultEnum.SUCCESS.getCode())
                .message(ResultEnum.SUCCESS.getMessage())
                .build();
    }

    /**
     * 返回操作成功信息
     * @return
     */
    public static ResultBean success(Object data){
        return ResultBean.builder()
                .code(ResultEnum.SUCCESS.getCode())
                .message(ResultEnum.SUCCESS.getMessage())
                .data(data)
                .build();
    }

    /**
     * 返回操系统异常信息
     * @param message 枚举类
     * @return
     */
    public static ResultBean exception(String message){
        return ResultBean.builder()
                .code(ResultEnum.EXCEPTION.getCode())
                .message(message)
                .build();
    }

    /**
     * 返回操系统异常信息
     * @param resultEnum 枚举类
     * @return
     */
    public static ResultBean exception(ResultEnum resultEnum){
        return ResultBean.builder()
                .code(resultEnum.getCode())
                .message(resultEnum.getMessage())
                .build();
    }

    /**
     * 返回操系统异常信息
     * @return
     */
    public static ResultBean exception(){
        return ResultBean.builder()
                .code(ResultEnum.EXCEPTION.getCode())
                .message(ResultEnum.EXCEPTION.getMessage())
                .build();
    }


}
